共计 1792 个字符,预计需要花费 5 分钟才能阅读完成。
背景
上文 红米AX3000T 刷入 openwrt mesh 组网 提到了,家中的路由器更换为了 红米AX3000T。
家中的其他设备都监控起来了,路由器当然也不能例外。
方案还是老一套:
- 监控:node_exporter + prometheus + grafana
- 告警:夜莺 站内文章:夜莺告警
实操
- 硬件型号:红米AX3000T
- 操作系统:openwrt
- 固件版本:bleachwrt stable 20231225 @ R23.11.11 / LuCI Master (git-23.346.45702-3e8eb4a)
- CPU架构:aarch64
安装包
首先下载对应版本的 node_exporter:
选择 node_exporter-1.7.0.linux-arm64.tar.gz
下载后解压缩。将二进制包 node_exporter
使用 winscp 等工具,上传到路由器的 /usr/sbin/
路径。
配置启动项
ssh 登录路由器执行操作:
# 添加启动项
root@master:/tmp# vim /etc/init.d/node_exporter
#!/bin/sh /etc/rc.common
START=99
STOP=10
USE_PROCD=1
start_service() {
procd_open_instance
procd_set_param command "/usr/sbin/node_exporter"
procd_set_param respawn
procd_close_instance
}
stop_service() {
procd_send_signal TERM node_exporter
}
restart_service() {
stop_service "$@"
start_service "$@"
}
# 加权
chmod +x /usr/sbin/node_exporter
chmod +x /etc/init.d/node_exporter
# 启动
/etc/init.d/node_exporter start
# 开机自启
/etc/init.d/node_exporter enable
配置 prometheus
prometheus 相关配置不赘述,之前在监控家中服务器时已经配置好 job。
# 新增配置
# vim /etc/prometheus/file_sd/node.yml
- labels:
host_name: "ax3000t-master"
host_ip: "192.168.2.1"
instance_type: "router"
provider: "network_device"
targets:
- 192.168.2.1:9100
# 重载服务
systemctl reload prometheus
检验
# 查看进程
root@master:/tmp# ps -ef|grep node_ex
5532 root 1211m S /usr/sbin/node_exporter
8553 root 1248 S grep node_ex
# 查看监听状态
root@master:/tmp# netstat -anltup|grep node
tcp 0 0 :::9100 :::* LISTEN 5532/node_exporter
tcp 0 0 ::ffff:192.168.2.1:9100 ::ffff:192.168.2.10:34188 ESTABLISHED 5532/node_exporter
# 获取指标数据
# curl 192.168.2.1:9100/metrics
...
# HELP promhttp_metric_handler_requests_total Total number of scrapes by HTTP status code.
# TYPE promhttp_metric_handler_requests_total counter
promhttp_metric_handler_requests_total{code="200"} 22
promhttp_metric_handler_requests_total{code="500"} 0
promhttp_metric_handler_requests_total{code="503"} 0
...
此时 node_exporter已被正确安装。
grafana 的 Linux 面板之前也已经配置好了,直接查看面板效果:
本文属于专题:Prometheus Exporter
引用链接
正文完
发表至: 监控
2023-12-28